function s:functionHeader()
    let token = "\"" 
    let hdStr = token . "***********************************************************************\n"
    let hdStr = hdStr . token . "* Function Name:\n"
    let hdStr = hdStr . token . "* ---------------------------------------------------------------------\n" 
    let hdStr = hdStr . token . "* \n"
    let hdStr = hdStr . token . "***********************************************************************\n"
    silent put = hdStr
endfunction


function! s:folderTop(level)
    let str="#\{\{\{".a:level
    silent put = str
endfunction

function! s:folderDown(level)
    let str =  "#}}}".a:level." end of"
    silent put = str
endfunction

function! s:folder(level)
    let level = a:level
    if level==''
        let level='1'
    endif

    call s:folderTop(level)
    call s:folderDown(level)
endfunction

command Header :call <SID>functionHeader()

command Folder :call <SID>folder(input("input fold level"))
